package com.itheima.Opertor;

public class OpertorDemo5 {
    public static void main(String[] args) {
       //逻辑运算符
        boolean b1 = true;
        boolean b2 = false;
        System.out.println("b1&&b2="+(b1&&b2)); //短路与，只要有一个为false，结果就是false,与&的区别是短路与，如果第一个为false,就不会执行第二个表达式了
        System.out.println("b1||b2="+(b1||b2)); //短路或，只要有一个为true，结果就是true，与|的区别是短路或，如果第一个为true,就不会执行第二个表达式了
        System.out.println("!b1="+(!b1));   //逻辑非，取反
        System.out.println("b1^b2="+(b1^b2)); //异或，相同为false,不同为true
        System.out.println("b1&b2="+(b1&b2)); //逻辑与，只要有一个为false，结果就是false
        System.out.println("b1|b2="+(b1|b2)); //逻辑或，只要有一个为true，结果就是true
        System.out.println("b1|b2="+(b1|b2)); //逻辑或，只要有一个为true，结果就是true


        System.out.println("------------------");
        //逻辑运算符的日常使用
        //要求手机必须满足两个条件：1.有摄像头 2.有指纹解锁
        boolean hasCamera = true;
        boolean hasFingerPrint = false;
        if(hasCamera&&hasFingerPrint){
            System.out.println("可以购买");
        }else{
            System.out.println("不可以购买");
        }

        //要求手机必须满足两个条件：1.要么有摄像头 2.要么有指纹解锁
        if(hasCamera||hasFingerPrint){
            System.out.println("可以购买");
        }else{
            System.out.println("不可以购买");
        }

        System.out.println("------------------");
        //&&左边为false，右边不执行
        int a = 10;             //自增自减运算符，字母在前先用字母当前的数值再自增或自减，字母在后先自增或自减再使用
        if(a<5&&++a<20){
            System.out.println("a="+a);
        }else{
            System.out.println("a="+a);
        }

        //||左边为true，右边不执行
        if(a>5||++a<20){
            System.out.println("a="+a);
        }else{
            System.out.println("a="+a);
        }
    }
}
